/*
 * CodeGenerator.h
 *
 *  Created on: Jan 23, 2013
 *      Author: quanpv
 */

#ifndef CODEGENERATOR_H_
#define CODEGENERATOR_H_

class CodeGenerator {
public:
	CodeGenerator();
	virtual ~CodeGenerator();

	virtual void Visit(boost::shared_ptr<StatementNode>);
	virtual void Visit(boost::shared_ptr<ExpressionNode>);
	// ...
protected:
	CodeGenerator(BytecodeStream&);
protected:
	BytecodeStream& _output;
};

#endif /* CODEGENERATOR_H_ */
